package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.BuyerBean;
import com.project.bean.BuyerInfoBean;


import java.time.LocalDate;

/*采购信息*/
public interface IBuyerService {

    /**
     * 动态条件分页查询采购信息
     *
     * @param pageNO    页码
     * @param name      供应商
     * @param startDate 采购起始日期、
     * @param endDate   采购结束日期，
     * @return 采购信息分页对象:{采购编号，供应商名称、采购员、采购时间}
     */
    IPage<BuyerBean> findByItem(Integer pageNO, String name,
                                    LocalDate startDate, LocalDate endDate);

    /**
     * 根据采购信息编号查询 采购信息。
     * 同时查询采购明细信息 在采购明细中需要查询商品信息
     * @param buyId 采购信息编号
     * @return 采购信息对象
     */
    BuyerBean findById(Integer buyId);

    /**
     * 入库
     * 1.完成采购信息的添加
     * 2.根据登陆用户的id 查询出采购车的集合
     * 3.根据采购车的集合 添加采购明细，同时修改库存商品的最新采购价格 和库存数量进行累加
     * 4.采购信息添加成功后 清空该用户购物车信息
     * @param infoBean 采购信息
     * @param userId 用户编号
     */
    void add(BuyerBean infoBean, Integer userId);
}
